package cn.amossun.starter.event.property;

import cn.amossun.starter.event.enums.DurabilityEnum;
import cn.amossun.starter.event.enums.QueueTypeEnum;
import lombok.Data;
import org.springframework.amqp.core.Queue;

import java.util.Map;

@Data
public class EventQueueContext {

    private final QueueTypeEnum type;

    private final String queueName;

    private final DurabilityEnum durability;

    private final boolean durable;

    private final boolean exclusive;

    private final boolean autoDelete;

    private final Map<String, Object> argumentsMap;

    private Queue queue;

    public EventQueueContext(QueueTypeEnum type,
                             String queueName,
                             DurabilityEnum durability,
                             boolean durable,
                             boolean exclusive,
                             boolean autoDelete,
                             Map<String, Object> argumentsMap) {

        this.type = type;
        this.queueName = queueName;
        this.durability = durability;
        this.durable = durable;
        this.exclusive = exclusive;
        this.autoDelete = autoDelete;
        this.argumentsMap = argumentsMap;
    }

}
